#ifndef TRANSACTION_OBJECT_H
#define TRANSACTION_OBJECT_H

#include <boost/thread/tss.hpp> 

#include "common.h"

class transaction_object_t
{
public:
	transaction_object_t();
	virtual ~transaction_object_t();
	static void* operator new(size_t size) throw ();
	static void operator delete(void* mem);
protected:
	void* val_;
	boost::thread_specific_ptr<void*> tval_; // write copy
};

#endif // TRANSACTION_OBJECT_H